home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
LIBRARY
/
SK210F
/
TESTBETW.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-05-06
|
15KB
|
384 lines
{$I SHDEFINE.INC}
{$I SHUNITSW.INC}
unit TestBetw;
{
To test the ShUtilPk unit (BETW functions)
Copyright 1991 Madison & Associates
All Rights Reserved
This program source file and the associated executable
file may be used and distributed only in accordance
with the provisions described on the title page of
the accompanying documentation file
SKYHAWK.DOC
}
interface
uses
ShUtilPk,
TpCrt,
TpDos,
TpString;
procedure BetwTest;
implementation
procedure BetwTest;
const
TA4 : array[1..81,1..3] of LongInt =
(( $7777DDDD, $8888EEEE, $9999FFFF ), {HiWord state = 1}
( $7777DDDD, $8888EEEE, $9999EEEE ),
( $7777DDDD, $8888EEEE, $9999DDDD ),
( $7777DDDD, $8888DDDD, $9999EEEE ),
( $7777DDDD, $8888DDDD, $9999DDDD ),
( $7777DDDD, $8888DDDD, $9999CCCC ),
( $7777DDDD, $8888CCCC, $9999DDDD ),
( $7777DDDD, $8888CCCC, $9999CCCC ),
( $7777DDDD, $8888CCCC, $9999BBBB ),
( $7777DDDD, $8888EEEE, $8888FFFF ), {HiWord state = 2}
( $7777DDDD, $8888EEEE, $8888EEEE ),
( $7777DDDD, $8888EEEE, $8888DDDD ),
( $7777DDDD, $8888DDDD, $8888EEEE ),
( $7777DDDD, $8888DDDD, $8888DDDD ),
( $7777DDDD, $8888DDDD, $8888CCCC ),
( $7777DDDD, $8888CCCC, $8888DDDD ),
( $7777DDDD, $8888CCCC, $8888CCCC ),
( $7777DDDD, $8888CCCC, $8888BBBB ),
( $7777DDDD, $9999EEEE, $8888FFFF ), {HiWord state = 3}
( $7777DDDD, $9999EEEE, $8888EEEE ),
( $7777DDDD, $9999EEEE, $8888DDDD ),
( $7777DDDD, $9999DDDD, $8888EEEE ),
( $7777DDDD, $9999DDDD, $8888DDDD ),
( $7777DDDD, $9999DDDD, $8888CCCC ),
( $7777DDDD, $9999CCCC, $8888DDDD ),
( $7777DDDD, $9999CCCC, $8888CCCC ),
( $7777DDDD, $9999CCCC, $8888BBBB ),
( $7777DDDD, $7777EEEE, $8888FFFF ), {HiWord state = 4}
( $7777DDDD, $7777EEEE, $8888EEEE ),
( $7777DDDD, $7777EEEE, $8888DDDD ),
( $7777DDDD, $7777DDDD, $8888EEEE ),
( $7777DDDD, $7777DDDD, $8888DDDD ),
( $7777DDDD, $7777DDDD, $8888CCCC ),
( $7777DDDD, $7777CCCC, $8888DDDD ),
( $7777DDDD, $7777CCCC, $8888CCCC ),
( $7777DDDD, $7777CCCC, $8888BBBB ),
( $7777DDDD, $7777EEEE, $7777FFFF ), {HiWord state = 5}
( $7777DDDD, $7777EEEE, $7777EEEE ),
( $7777DDDD, $7777EEEE, $7777DDDD ),
( $7777DDDD, $7777DDDD, $7777EEEE ),
( $7777DDDD, $7777DDDD, $7777DDDD ),
( $7777DDDD, $7777DDDD, $7777CCCC ),
( $7777DDDD, $7777CCCC, $7777DDDD ),
( $7777DDDD, $7777CCCC, $7777CCCC ),
( $7777DDDD, $7777CCCC, $7777BBBB ),
( $7777DDDD, $7777EEEE, $6666FFFF ), {HiWord state = 6}
( $7777DDDD, $7777EEEE, $6666EEEE ),
( $7777DDDD, $7777EEEE, $6666DDDD ),
( $7777DDDD, $7777DDDD, $6666EEEE ),
( $7777DDDD, $7777DDDD, $6666DDDD ),
( $7777DDDD, $7777DDDD, $6666CCCC ),
( $7777DDDD, $7777CCCC, $6666DDDD ),
( $7777DDDD, $7777CCCC, $6666CCCC ),
( $7777DDDD, $7777CCCC, $6666BBBB ),
( $7777DDDD, $6666EEEE, $7777FFFF ), {HiWord state = 7}
( $7777DDDD, $6666EEEE, $7777EEEE ),
( $7777DDDD, $6666EEEE, $7777DDDD ),
( $7777DDDD, $6666DDDD, $7777EEEE ),
( $7777DDDD, $6666DDDD, $7777DDDD ),
( $7777DDDD, $6666DDDD, $7777CCCC ),
( $7777DDDD, $6666CCCC, $7777DDDD ),
( $7777DDDD, $6666CCCC, $7777CCCC ),
( $7777DDDD, $6666CCCC, $7777BBBB ),
( $7777DDDD, $6666EEEE, $6666FFFF ), {HiWord state = 8}
( $7777DDDD, $6666EEEE, $6666EEEE ),
( $7777DDDD, $6666EEEE, $6666DDDD ),
( $7777DDDD, $6666DDDD, $6666EEEE ),
( $7777DDDD, $6666DDDD, $6666DDDD ),
( $7777DDDD, $6666DDDD, $6666CCCC ),
( $7777DDDD, $6666CCCC, $6666DDDD ),
( $7777DDDD, $6666CCCC, $6666CCCC ),
( $7777DDDD, $6666CCCC, $6666BBBB ),
( $7777DDDD, $6666EEEE, $5555FFFF ), {HiWord state = 9}
( $7777DDDD, $6666EEEE, $5555EEEE ),
( $7777DDDD, $6666EEEE, $5555DDDD ),
( $7777DDDD, $6666DDDD, $5555EEEE ),
( $7777DDDD, $6666DDDD, $5555DDDD ),
( $7777DDDD, $6666DDDD, $5555CCCC ),
( $7777DDDD, $6666CCCC, $5555DDDD ),
( $7777DDDD, $6666CCCC, $5555CCCC ),
( $7777DDDD, $6666CCCC, $5555BBBB ));
TA4A : array[1..81,1..3] of LongInt =
(( $777DDDD, $888EEEE, $999FFFF ), {HiWord state = 1}
( $777DDDD, $888EEEE, $999EEEE ),
( $777DDDD, $888EEEE, $999DDDD ),
( $777DDDD, $888DDDD, $999EEEE ),
( $777DDDD, $888DDDD, $999DDDD ),
( $777DDDD, $888DDDD, $999CCCC ),
( $777DDDD, $888CCCC, $999DDDD ),
( $777DDDD, $888CCCC, $999CCCC ),
( $777DDDD, $888CCCC, $999BBBB ),
( $777DDDD, $888EEEE, $888FFFF ), {HiWord state = 2}
( $777DDDD, $888EEEE, $888EEEE ),
( $777DDDD, $888EEEE, $888DDDD ),
( $777DDDD, $888DDDD, $888EEEE ),
( $777DDDD, $888DDDD, $888DDDD ),
( $777DDDD, $888DDDD, $888CCCC ),
( $777DDDD, $888CCCC, $888DDDD ),
( $777DDDD, $888CCCC, $888CCCC ),
( $777DDDD, $888CCCC, $888BBBB ),
( $777DDDD, $999EEEE, $888FFFF ), {HiWord state = 3}
( $777DDDD, $999EEEE, $888EEEE ),
( $777DDDD, $999EEEE, $888DDDD ),
( $777DDDD, $999DDDD, $888EEEE ),
( $777DDDD, $999DDDD, $888DDDD ),
( $777DDDD, $999DDDD, $888CCCC ),
( $777DDDD, $999CCCC, $888DDDD ),
( $777DDDD, $999CCCC, $888CCCC ),
( $777DDDD, $999CCCC, $888BBBB ),
( $777DDDD, $777EEEE, $888FFFF ), {HiWord state = 4}
( $777DDDD, $777EEEE, $888EEEE ),
( $777DDDD, $777EEEE, $888DDDD ),
( $777DDDD, $777DDDD, $888EEEE ),
( $777DDDD, $777DDDD, $888DDDD ),
( $777DDDD, $777DDDD, $888CCCC ),
( $777DDDD, $777CCCC, $888DDDD ),
( $777DDDD, $777CCCC, $888CCCC ),
( $777DDDD, $777CCCC, $888BBBB ),
( $777DDDD, $777EEEE, $777FFFF ), {HiWord state = 5}
( $777DDDD, $777EEEE, $777EEEE ),
( $777DDDD, $777EEEE, $777DDDD ),
( $777DDDD, $777DDDD, $777EEEE ),
( $777DDDD, $777DDDD, $777DDDD ),
( $777DDDD, $777DDDD, $777CCCC ),
( $777DDDD, $777CCCC, $777DDDD ),
( $777DDDD, $777CCCC, $777CCCC ),
( $777DDDD, $777CCCC, $777BBBB ),
( $777DDDD, $777EEEE, $666FFFF ), {HiWord state = 6}
( $777DDDD, $777EEEE, $666EEEE ),
( $777DDDD, $777EEEE, $666DDDD ),
( $777DDDD, $777DDDD, $666EEEE ),
( $777DDDD, $777DDDD, $666DDDD ),
( $777DDDD, $777DDDD, $666CCCC ),
( $777DDDD, $777CCCC, $666DDDD ),
( $777DDDD, $777CCCC, $666CCCC ),
( $777DDDD, $777CCCC, $666BBBB ),
( $777DDDD, $666EEEE, $777FFFF ), {HiWord state = 7}
( $777DDDD, $666EEEE, $777EEEE ),
( $777DDDD, $666EEEE, $777DDDD ),
( $777DDDD, $666DDDD, $777EEEE ),
( $777DDDD, $666DDDD, $777DDDD ),
( $777DDDD, $666DDDD, $777CCCC ),
( $777DDDD, $666CCCC, $777DDDD ),
( $777DDDD, $666CCCC, $777CCCC ),
( $777DDDD, $666CCCC, $777BBBB ),
( $777DDDD, $666EEEE, $666FFFF ), {HiWord state = 8}
( $777DDDD, $666EEEE, $666EEEE ),
( $777DDDD, $666EEEE, $666DDDD ),
( $777DDDD, $666DDDD, $666EEEE ),
( $777DDDD, $666DDDD, $666DDDD ),
( $777DDDD, $666DDDD, $666CCCC ),
( $777DDDD, $666CCCC, $666DDDD ),
( $777DDDD, $666CCCC, $666CCCC ),
( $777DDDD, $666CCCC, $666BBBB ),
( $777DDDD, $666EEEE, $555FFFF ), {HiWord state = 9}
( $777DDDD, $666EEEE, $555EEEE ),
( $777DDDD, $666EEEE, $555DDDD ),
( $777DDDD, $666DDDD, $555EEEE ),
( $777DDDD, $666DDDD, $555DDDD ),
( $777DDDD, $666DDDD, $555CCCC ),
( $777DDDD, $666CCCC, $555DDDD ),
( $777DDDD, $666CCCC, $555CCCC ),
( $777DDDD, $666CCCC, $555BBBB ));
TA2 : array[1..9,1..3] of Word =
(( $DDDD, $EEEE, $FFFF ),
( $DDDD, $EEEE, $EEEE ),
( $DDDD, $EEEE, $DDDD ),
( $DDDD, $DDDD, $EEEE ),
( $DDDD, $DDDD, $DDDD ),
( $DDDD, $DDDD, $CCCC ),
( $DDDD, $CCCC, $DDDD ),
( $DDDD, $CCCC, $CCCC ),
( $DDDD, $CCCC, $BBBB ));
TA2A : array[1..9,1..3] of Word =
(( $DDD, $EEE, $FFF ),
( $DDD, $EEE, $EEE ),
( $DDD, $EEE, $DDD ),
( $DDD, $DDD, $EEE ),
( $DDD, $DDD, $DDD ),
( $DDD, $DDD, $CCC ),
( $DDD, $CCC, $DDD ),
( $DDD, $CCC, $CCC ),
( $DDD, $CCC, $BBB ));
TA1 : array[1..9,1..3] of Word =
(( $DD, $EE, $FF ),
( $DD, $EE, $EE ),
( $DD, $EE, $DD ),
( $DD, $DD, $EE ),
( $DD, $DD, $DD ),
( $DD, $DD, $CC ),
( $DD, $CC, $DD ),
( $DD, $CC, $CC ),
( $DD, $CC, $BB ));
TA1A : array[1..9,1..3] of Word =
(( $D, $E, $F ),
( $D, $E, $E ),
( $D, $E, $D ),
( $D, $D, $E ),
( $D, $D, $D ),
( $D, $D, $C ),
( $D, $C, $D ),
( $D, $C, $C ),
( $D, $C, $B ));
var
s1,s2,s3 : shortint;
b1,b2,b3 : byte;
i1,i2,i3 : integer;
w1,w2,w3 : word;
l1,l2,l3 : longint;
G1,G2,G3 : string;
LST,
O : text;
begin
if HandleIsConsole(1) then begin
Write('Set printer to max 12 char. per inch. Any key when ready...');
if ReadKeyWord = 0 then ;
if OpenStdDev(LST, 4) then ; {if output not redirected, write to printer}
end
else
if OpenStdDev(LST, 1) then ; {if output redirected, write to StdOut}
if OpenStdDev(O, 1) then ; {in any case, write screen output to StdOut}
WriteLn(LST,'':7,'UNSIGNED compare -- 4 byte');
for S1 := 1 to 81 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexL(TA4[S1, S2]),' ');
Write(LST,BetwU(TA4[S1,1], TA4[S1,2], TA4[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
WriteLn(LST,^L);
for S1 := 1 to 81 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexL(TA4A[S1, S2]),' ');
Write(LST,BetwU(TA4A[S1,1], TA4A[S1,2], TA4A[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
WriteLn(LST,^L);
WriteLn(LST,'':7,'SIGNED compare -- 4 byte');
for S1 := 1 to 81 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, (TA4[S1, S2]):11,' ');
Write(LST,BetwS(TA4[S1,1], TA4[S1,2], TA4[S1,3]):5,'':2);
if not odd(S1) then WriteLn(Lst);
end;
WriteLn(LST,^L);
for S1 := 1 to 81 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, (TA4A[S1, S2]):11,' ');
Write(LST,BetwS(TA4A[S1,1], TA4A[S1,2], TA4A[S1,3]):5,'':2);
if not odd(S1) then WriteLn(Lst);
end;
WriteLn(LST,^L);
WriteLn(LST,'':7,'UNSIGNED compare -- 2 byte');
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexW(TA2[S1, S2]),' ');
Write(LST,BetwU(TA2[S1,1], TA2[S1,2], TA2[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexW(TA2A[S1, S2]),' ');
Write(LST,BetwU(TA2A[S1,1], TA2A[S1,2], TA2A[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
WriteLn(LST,'':7,'SIGNED compare -- 2 byte');
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, integer(TA2[S1, S2]):6,' ');
Write(LST,BetwS(TA2[S1,1], TA2[S1,2], TA2[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, integer(TA2A[S1, S2]):6,' ');
Write(LST,BetwS(TA2A[S1,1], TA2A[S1,2], TA2A[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
WriteLn(LST,^L);
WriteLn(LST,'':7,'UNSIGNED compare -- 1 byte');
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexB(TA1[S1, S2]),' ');
Write(LST,BetwU(TA1[S1,1], TA1[S1,2], TA1[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, '$'+HexB(TA1A[S1, S2]),' ');
Write(LST,BetwU(TA1A[S1,1], TA1A[S1,2], TA1A[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
WriteLn(LST,'':7,'SIGNED compare -- 1 byte');
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, ShortInt(TA1[S1, S2]):4,' ');
Write(LST,BetwS(TA1[S1,1], TA1[S1,2], TA1[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
Write(LST,^M^J^J^J^J^J);
for S1 := 1 to 9 do begin
if odd(S1) then Write(LST,'':7);
for S2 := 1 to 3 do
Write(LST, ShortInt(TA1A[S1, S2]):4,' ');
Write(LST,BetwS(TA1A[S1,1], TA1A[S1,2], TA1A[S1,3]):5,'':5);
if not odd(S1) then WriteLn(Lst);
end;
if HandleIsConsole(1) then
Write(LST,^L);
Flush(O);
Flush(LST);
end; {BetwTest}
end.